MIP
  • Results (DRAFT)
20-week current policies foresight
  • Capacity and Generation
  • Capacity Tables
  • Transmission Expansion
  • Emissions
  • Dispatch
  • Capacity Factors
  • Operational Results
  • Total Capacity
  • New-build Capacity
  • Existing Capacity
  • Total Capacity (wide)
  • Regional Capacity
  • Regional New-buid Capacity
  • Total Generation
  • New-build Generation
  • Existing Generation
  • Total Generation (wide)
  • Regional Generation
  • Total Start Existing Capacity
  • Total End Existing Capacity
  • Regional End Existing Capacity
tech_type planning_year GenX SWITCH TEMOA TEMOA_V2 USENSYS
Battery 2027 21854 22064 313 313 21854
Battery 2030 21719 22129 21530 21530 21719
Battery 2035 20535 20934 313 313 20535
Battery 2040 84 95 313 313 84
Battery 2045 0 nan 0 0 nan
Battery 2050 0 nan 313 313 nan
Coal 2027 157337 181063 81881 81881 157337
Coal 2030 142458 162574 154786 154786 142458
Coal 2035 122365 140428 30205 30205 122365
Coal 2040 82414 94008 57265 57265 82414
Coal 2045 57333 65584 0 0 57333
Coal 2050 30232 34653 131765 131765 30232
Distributed Solar 2027 47556 822 103282 103282 47556
Distributed Solar 2030 72304 47886 47886 47886 72304
Distributed Solar 2035 96511 72744 116713 116713 96511
Distributed Solar 2040 102759 96725 108374 108374 102759
Distributed Solar 2045 107818 102758 0 0 107818
Distributed Solar 2050 116123 116713 72744 72744 116123
Geothermal 2027 676 676 386 386 676
Geothermal 2030 621 620 825 825 621
Geothermal 2035 591 591 45 45 591
Geothermal 2040 398 398 227 227 398
Geothermal 2045 217 217 0 0 217
Geothermal 2050 100 100 45 45 100
Hydro 2027 94746 94719 88486 88486 94746
Hydro 2030 92716 92688 93898 93898 92716
Hydro 2035 91778 91738 81150 81150 91778
Hydro 2040 89100 89066 84435 84435 89100
Hydro 2045 84874 84842 0 0 84874
Hydro 2050 81492 81471 91941 91941 81492
Natural Gas CC 2027 306785 326930 297640 297640 306785
Natural Gas CC 2030 305219 325079 305749 305749 305219
Natural Gas CC 2035 300271 320131 287603 287603 300271
Natural Gas CC 2040 297744 317604 295787 295787 297744
Natural Gas CC 2045 295809 315361 0 0 295809
Natural Gas CC 2050 287607 307062 304199 304199 287607
Natural Gas CT 2027 140564 174194 130099 130099 140564
Natural Gas CT 2030 139354 172567 139378 139378 139354
Natural Gas CT 2035 136588 168822 95198 95198 136588
Natural Gas CT 2040 130481 160115 119296 119296 130481
Natural Gas CT 2045 119365 147015 0 0 119365
Natural Gas CT 2050 95279 119337 137008 137008 95279
Nuclear 2027 97038 97038 96105 96105 97038
Nuclear 2030 97038 97038 96226 96226 97038
Nuclear 2035 97038 97038 93414 93414 97038
Nuclear 2040 97038 97038 96105 96105 97038
Nuclear 2045 97038 97038 0 0 97038
Nuclear 2050 94298 94298 96226 96226 94298
Solar 2027 115692 116604 114830 114830 115692
Solar 2030 115685 116662 115693 115693 115685
Solar 2035 115677 116662 69410 69410 115677
Solar 2040 115288 116272 103440 103440 115288
Solar 2045 103532 104516 0 0 103532
Solar 2050 69624 70579 114966 114966 69624
Wind 2027 155394 152157 116756 116756 155394
Wind 2030 154608 154371 155395 155395 154608
Wind 2035 148441 148203 37382 37382 148441
Wind 2040 117636 117399 83348 83348 117636
Wind 2045 83551 83233 0 0 83551
Wind 2050 37428 37083 150104 150104 37428
tech_type planning_year GenX SWITCH TEMOA TEMOA_V2 USENSYS
Battery 2027 21854 22264 21636 21636 21854
Battery 2030 21719 22129 21515 21515 21719
Battery 2035 20535 20934 20649 20649 20535
Battery 2040 84 95 313 313 84
Battery 2045 0 nan 313 313 nan
Battery 2050 0 nan 313 313 nan
Coal 2027 157337 181063 156072 156072 157337
Coal 2030 142458 162574 141662 141662 142458
Coal 2035 122365 140428 122179 122179 122365
Coal 2040 82414 94008 81881 81881 82414
Coal 2045 57333 65584 57265 57265 57333
Coal 2050 30232 34653 30205 30205 30232
Distributed Solar 2027 47556 47886 47886 47886 47556
Distributed Solar 2030 72304 72744 72744 72744 72304
Distributed Solar 2035 96511 97023 97023 97023 96511
Distributed Solar 2040 102759 103282 103282 103282 102759
Distributed Solar 2045 107818 108374 108374 108374 107818
Distributed Solar 2050 116123 116713 116713 116713 116123
Geothermal 2027 676 676 825 825 676
Geothermal 2030 621 620 754 754 621
Geothermal 2035 591 591 717 717 591
Geothermal 2040 398 398 386 386 398
Geothermal 2045 217 217 227 227 217
Geothermal 2050 100 100 45 45 100
Hydro 2027 94746 94719 93898 93898 94746
Hydro 2030 92716 92688 91941 91941 92716
Hydro 2035 91778 91738 91101 91101 91778
Hydro 2040 89100 89066 88486 88486 89100
Hydro 2045 84874 84842 84435 84435 84874
Hydro 2050 81492 81471 81150 81150 81492
Natural Gas CC 2027 306785 326930 305749 305749 306785
Natural Gas CC 2030 305219 325079 304199 304199 305219
Natural Gas CC 2035 300271 320131 300099 300099 300271
Natural Gas CC 2040 297744 317604 297640 297640 297744
Natural Gas CC 2045 295809 315361 295787 295787 295809
Natural Gas CC 2050 287607 307062 287603 287603 287607
Natural Gas CT 2027 140564 174194 139508 139508 140564
Natural Gas CT 2030 139354 172567 138415 138415 139354
Natural Gas CT 2035 136588 168822 135888 135888 136588
Natural Gas CT 2040 130481 160115 130099 130099 130481
Natural Gas CT 2045 119365 147015 119296 119296 119365
Natural Gas CT 2050 95279 119337 95198 95198 95279
Nuclear 2027 97038 97038 96226 96226 97038
Nuclear 2030 97038 97038 96226 96226 97038
Nuclear 2035 97038 97038 96226 96226 97038
Nuclear 2040 97038 97038 96105 96105 97038
Nuclear 2045 97038 97038 96105 96105 97038
Nuclear 2050 94298 94298 93414 93414 94298
Solar 2027 115692 116670 115693 115693 115692
Solar 2030 115685 116662 115686 115686 115685
Solar 2035 115677 116662 115678 115678 115677
Solar 2040 115288 116272 114830 114830 115288
Solar 2045 103532 104516 103440 103440 103532
Solar 2050 69624 70579 69410 69410 69624
Wind 2027 155394 153657 155395 155395 155394
Wind 2030 154608 154371 154610 154610 154608
Wind 2035 148441 148203 148469 148469 148441
Wind 2040 117636 117399 116756 116756 117636
Wind 2045 83551 83233 83348 83348 83551
Wind 2050 37428 37083 37382 37382 37428
agg_zone tech_type resource_name planning_year GenX SWITCH TEMOA TEMOA_V2 USENSYS
Loading ITables v2.2.3 from the internet... (need help?)
  • Expansion by line
  • Total expansion
  • Total expansion map
  • Total expansion map (drop lines < 50MW)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, include, exclude)
   2154         # see https://github.com/ipython/ipython/issues/11038
   2155         try:
   2156             dct = self.to_dict()
   2157         except Exception:
-> 2158             utils.display_traceback(in_ipython=True)
   2159             return {}
   2160         else:
   2161             return renderers.get()(dct)

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs)
    846 
    847         # TopLevelMixin instance does not necessarily have to_dict defined
    848         # but due to how Altair is set up this should hold.
    849         # Too complex to type hint right now
--> 850         dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)  # type: ignore[misc]
    851 
    852         # TODO: following entries are added after validation. Should they be validated?
    853         if is_top_level:

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context)
    792                 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"]
    793             }
    794             if "mark" in kwds and isinstance(kwds["mark"], str):
    795                 kwds["mark"] = {"type": kwds["mark"]}
--> 796             result = _todict(
    797                 kwds,
    798                 context=context,
    799             )

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
    338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):
--> 340         return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
    341     elif hasattr(obj, "to_dict"):
    342         return obj.to_dict()
    343     elif isinstance(obj, np.number):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 340 def _todict(obj, context):
    341     """Convert an object to a dict representation."""
    342     if isinstance(obj, SchemaBase):
    343         return obj.to_dict(validate=False, context=context)

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    334     """Convert an object to a dict representation."""
    335     if isinstance(obj, SchemaBase):
    336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
--> 338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):
    340         return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
    341     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 338 def _todict(obj, context):
    339     """Convert an object to a dict representation."""
    340     if isinstance(obj, SchemaBase):
    341         return obj.to_dict(validate=False, context=context)

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    333 def _todict(obj, context):
    334     """Convert an object to a dict representation."""
    335     if isinstance(obj, SchemaBase):
--> 336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
    338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs)
   2516             # for easier specification of datum encodings.
   2517             copy = self.copy(deep=False)
   2518             copy.data = core.InlineData(values=[{}])
   2519             return super(Chart, copy).to_dict(*args, **kwargs)
-> 2520         return super().to_dict(*args, **kwargs)

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/api.py in ?(self, *args, **kwargs)
    846 
    847         # TopLevelMixin instance does not necessarily have to_dict defined
    848         # but due to how Altair is set up this should hold.
    849         # Too complex to type hint right now
--> 850         dct = super(TopLevelMixin, copy).to_dict(*args, **kwargs)  # type: ignore[misc]
    851 
    852         # TODO: following entries are added after validation. Should they be validated?
    853         if is_top_level:

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context)
    792                 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"]
    793             }
    794             if "mark" in kwds and isinstance(kwds["mark"], str):
    795                 kwds["mark"] = {"type": kwds["mark"]}
--> 796             result = _todict(
    797                 kwds,
    798                 context=context,
    799             )

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
    338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):
--> 340         return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
    341     elif hasattr(obj, "to_dict"):
    342         return obj.to_dict()
    343     elif isinstance(obj, np.number):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 340 def _todict(obj, context):
    341     """Convert an object to a dict representation."""
    342     if isinstance(obj, SchemaBase):
    343         return obj.to_dict(validate=False, context=context)

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    333 def _todict(obj, context):
    334     """Convert an object to a dict representation."""
    335     if isinstance(obj, SchemaBase):
--> 336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
    338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(self, validate, ignore, context)
    792                 k: v for k, v in kwds.items() if k not in list(ignore) + ["shorthand"]
    793             }
    794             if "mark" in kwds and isinstance(kwds["mark"], str):
    795                 kwds["mark"] = {"type": kwds["mark"]}
--> 796             result = _todict(
    797                 kwds,
    798                 context=context,
    799             )

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
    338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):
--> 340         return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
    341     elif hasattr(obj, "to_dict"):
    342         return obj.to_dict()
    343     elif isinstance(obj, np.number):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 340 def _todict(obj, context):
    341     """Convert an object to a dict representation."""
    342     if isinstance(obj, SchemaBase):
    343         return obj.to_dict(validate=False, context=context)

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    334     """Convert an object to a dict representation."""
    335     if isinstance(obj, SchemaBase):
    336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
--> 338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):
    340         return {k: _todict(v, context) for k, v in obj.items() if v is not Undefined}
    341     elif hasattr(obj, "to_dict"):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(.0)
--> 338 def _todict(obj, context):
    339     """Convert an object to a dict representation."""
    340     if isinstance(obj, SchemaBase):
    341         return obj.to_dict(validate=False, context=context)

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/utils/schemapi.py in ?(obj, context)
    333 def _todict(obj, context):
    334     """Convert an object to a dict representation."""
    335     if isinstance(obj, SchemaBase):
--> 336         return obj.to_dict(validate=False, context=context)
    337     elif isinstance(obj, (list, tuple, np.ndarray)):
    338         return [_todict(v, context) for v in obj]
    339     elif isinstance(obj, dict):

/opt/hostedtoolcache/Python/3.10.15/x64/lib/python3.10/site-packages/altair/vegalite/v5/schema/channels.py in ?(self, validate, ignore, context)
     43                 # We still parse it out of the shorthand, but drop it here.
     44                 parsed.pop('type', None)
     45             elif not (type_in_shorthand or type_defined_explicitly):
     46                 if isinstance(context.get('data', None), pd.DataFrame):
---> 47                     raise ValueError(
     48                         'Unable to determine data type for the field "{}";'
     49                         " verify that the field name is not misspelled."
     50                         " If you are referencing a field from a transform,"

ValueError: Unable to determine data type for the field "ln"; verify that the field name is not misspelled. If you are referencing a field from a transform, also confirm that the data type is specified correctly.
alt.LayerChart(...)
  • Emissions
  • Emissions intensity
  • 2030 Dispatch
  • 2040 Dispatch
  • 2050 Dispatch
  • Tab 4
  • Tab 5
  • Tab 6
  • Battery
  • Solar
  • Wind
  • Natural Gas CC
  • Natural Gas CT
  • Coal
  • Hydro
  • Operational costs (model)
  • Operational costs (society)
  • Operational NSE
  • Generation
  • Emissions by zone
  • Power cost